package com.ruoyi.school.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.school.domain.FirmwarePackage;
import com.ruoyi.school.domain.vo.FirmwarePackageVo;
import com.ruoyi.school.domain.dto.FirmwarePackageQueryDto;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 固件包信息表服务接口
 */
public interface IFirmwarePackageService extends IService<FirmwarePackage> {

    /**
     * 查询固件包列表
     */
    List<FirmwarePackageVo> selectFirmwarePackageList(FirmwarePackageQueryDto queryDto);

    /**
     * 分页查询固件包列表
     */
    Page<FirmwarePackageVo> selectFirmwarePackagePage(FirmwarePackageQueryDto queryDto);

    /**
     * 上传固件包
     */
    String uploadFirmware(MultipartFile file, FirmwarePackage firmwarePackage);

    /**
     * 批量删除固件包
     */
    int deleteFirmwarePackageByIds(Long[] ids);

    /**
     * 更新固件包状态
     */
    int updateStatus(Long id, Integer status);

    /**
     * 根据设备类型查询可用的固件包
     */
    List<FirmwarePackage> selectByDeviceTypeId(Long deviceTypeId);
}
